import numpy as np
import pandas as pd

def ysm(df, search_column1, search_column2):
    """
    在Excel文件中特定列中填入数据，如果该行中的某一列包含指定关键字。

    :param file_path: Excel文件的路径
    :param search_column1: 要搜索的列的表头名称
    :param search_column2: 要搜索的列的表头名称
    :param search_column3: 要搜索的列的表头名称
    :param search_column4: 要搜索的列的表头名称
    :param search_column5: 要搜索的列的表头名称
    :param update_column: 要更新的列的表头名称
    """
    try:
        # 读取Excel文件
        df.replace(np.nan, "", inplace=True)  # 将NaN替换为None
        # 遍历每一行
        for index, row in df.iterrows():
            m1 = str(row[search_column1])
            m2 = str(row[search_column2])

            if (m1 == '' or pd.isna(m1)) and (m2 != "" or ~pd.isna(m2)):
                df.at[index, search_column1] = m2
            elif (m1 != '' or ~pd.isna(m1)) and (m2 == "" or pd.isna(m2)):
                df.at[index, search_column2] = m1

        # 保存更新后的Excel文件
        print("[医生替换]已完成处理。")
        return df
    except Exception as e:
        print(f"医生替换处理时发生错误：{e}")
